Skip to content

議 jQuery

TLDR

  • jQuery 在現代開發中的必要性已大幅降低,原生瀏覽器 API 已涵蓋多數過去需依賴 jQuery 的功能。
  • 建議將前端技術棧從 jQuery 遷移至 Vue.js 或 Blazor,以應對現代化開發需求。
  • 若需保留 .NET Model Validation 的整合性,可考慮使用 Vue 2 搭配 VeeValidate 2 作為過渡方案。
  • 選擇 Vue.js 的優勢在於其漸進式特性,可透過引入 JS 檔案方式使用,降低對 Webpack 等建構工具的依賴。
  • Blazor 提供以 C# 撰寫前端 UI 的選擇,適合希望減少 JavaScript 負擔的 .NET 開發者。

jQuery 的現況分析

在現代 Web 開發中,jQuery 的核心價值已逐漸被原生瀏覽器 API 取代。

什麼情況下會遇到 jQuery 的技術債?

當專案仍依賴 jQuery 處理跨瀏覽器相容性或 DOM 操作時,會面臨維護成本高且缺乏現代框架結構化優勢的問題。

技術分析與驗證

  • 跨瀏覽器相容性:早期 jQuery 解決了 IE 與其他瀏覽器的語法差異,但隨著 IE 退出歷史舞台,現代瀏覽器皆已遵循 W3C 規範,此優勢已不復存在。
  • DOM 操作 API:jQuery 提供的 Selector 表達式與操作 API,現今多數已成為瀏覽器原生 API 的標準功能。
  • 生態系依賴:過去許多套件依賴 jQuery 運作,但目前主流套件(如 Bootstrap 5)已全面移除對 jQuery 的依賴。
  • 框架特性:jQuery 本質上是函式庫而非框架,缺乏結構化約束,導致大型專案的程式碼難以控管。

取代 jQuery 的技術選型

針對 .NET MVC 或 Razor Pages 架構,若欲汰換 jQuery,可考慮以下兩種主流路徑:

1. Vue.js(漸進式框架)

  • 適用情境:希望在不大幅改變現有後端架構下,提升前端互動性與結構化程度。
  • 優勢:Vue 支援透過引用 JS 檔案的方式直接使用,能有效避開 Webpack 等複雜建構工具的學習門檻,適合逐步導入。

2. ASP.NET Core Blazor

  • 適用情境:希望完全以 C# 語言開發前端 UI,減少 JavaScript 的維護負擔。
  • 優勢:允許開發者利用既有的 C# 技能建立豐富的互動式 UI,與 .NET 後端整合度極高。

結論與建議

對於側重後端的 .NET 工程師,建議採取以下策略:

  • 過渡期方案:若需延續 .NET Model Validation 的整合,可採用 Vue 2 搭配 VeeValidate 2 進行開發。
  • 長期規劃:由於 Vue 3 的 Composition API 與舊有開發模式差異較大,若未來無法適應新版前端框架的演進,建議評估轉向 ASP.NET Core Blazor,以維持開發效率與技術棧的一致性。

異動歷程

    • 初版文件建立。